home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Visual Database / Visual dBase Pro v7.0 / DATA1.CAB / Sample_Include / Windef.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-11-20  |  7.1 KB  |  255 lines

  1. //--------------------------------------------------------------
  2. //
  3. //  WINDEF.H 
  4. //
  5. //  Basic Windows Type Definitions  
  6. // 
  7. //  Visual dBASE Samples Group
  8. //
  9. //  $Revision:   1.4  $
  10. //
  11. //  Portions copyright (c) 1985-1995, Microsoft Corp. 
  12. //
  13. //--------------------------------------------------------------
  14.  
  15. #ifndef _WINDEF_
  16. #define _WINDEF_
  17.  
  18. //  These can be used to include only part of the 
  19. //  WIN32API.PRG file.
  20. //
  21.  
  22. #define WIN32API_ALLSECTIONS         0xFFFFFFFF
  23. #define WIN32API_KERNEL              0x00000001
  24. #define WIN32API_USER                0x00000002
  25. #define WIN32API_GDI                 0x00000004
  26. #define WIN32API_ADVAPI              0x00000008
  27. #define WIN32API_SHELL               0x00000010
  28. #define WIN32API_INIFILE             0x00000020
  29. #define WIN32API_REGISTRY            0x00000040
  30. #define WIN32API_DIALOG              0x00000080
  31. #define WIN32API_NETWORK             0x00000100
  32.  
  33. #define ULONG               CULONG
  34. #define PULONG              CPTR CULONG
  35. #define USHORT              CUSHORT
  36. #define PUSHORT             CPTR CSHORT
  37. #define UCHAR               CUCHAR
  38. #define PUCHAR              CPTR
  39. #define PSZ                 CSTRING
  40.  
  41. #define MAX_PATH          260
  42.  
  43. #define CFALSE              0
  44. #define CTRUE               1
  45.  
  46. #define DWORD               CULONG
  47. #define BOOL                CLOGICAL
  48. #define BYTE                CUCHAR
  49. #define WORD                CUSHORT
  50. //#define FLOAT               CFLOAT   // Conflicts with FLOAT()
  51.  
  52. #define PFLOAT              CPTR CFLOAT
  53. #define PBOOL               CPTR CLONG  // Should be CLOGICAL
  54. #define LPBOOL              CPTR CLONG  // Should be CLOGICAL
  55. #define PBYTE               CPTR
  56. #define LPBYTE              CPTR
  57. #define PINT                CPTR CINT
  58. #define LPINT               CPTR CINT
  59. #define PWORD               CPTR CUSHORT
  60. #define LPWORD              CPTR CUSHORT
  61. #define LPLONG              CPTR CLONG
  62. #define PDWORD              CPTR DWORD
  63. #define LPDWORD             CPTR DWORD
  64. #define PVOID               CPTR
  65. #define LPVOID              CPTR
  66. #define LPCVOID             CPTR
  67.  
  68. // #define INT                 CINT   // Can't use INT, conflicts with INT()
  69. #define UINT                CUINT
  70. #define PUINT               CPTR CUINT
  71.  
  72.  
  73. //
  74. //  BUILD Version: 0093     Increment this if a change has global effects
  75. //
  76. // Copyright (c) 1990-1995  Microsoft Corporation
  77. //
  78. // Module Name:
  79. //
  80. //    winnt.h
  81. //
  82. // Abstract:
  83. //
  84. //    This module defines the 32-Bit Windows types and constants that are
  85. //    defined by NT, but exposed through the Win32 API.
  86. //
  87. //
  88.  
  89. //
  90. // Basics
  91. //
  92.  
  93. #define VOID       CVOID
  94. #define CHAR       CCHAR
  95. #define SHORT      CSHORT
  96. #define LONG       CLONG
  97.  
  98. #define WCHAR      CSHORT
  99. #define PWCHAR     CPTR CSHORT
  100. #define LPWCH      CPTR CSHORT
  101. #define PWCH       CPTR CSHORT
  102. #define LPCWCH     CPTR CSHORT
  103. #define PCWCH      CPTR CSHORT
  104. #define NWPSTR     CPTR CSHORT
  105. #define LPWSTR     CPTR CSHORT
  106. #define PWSTR      CPTR CSHORT
  107. #define LPCWSTR    CPTR CSHORT
  108. #define PCWSTR     CPTR CSHORT
  109.  
  110. //
  111. // ANSI (Multi-byte Character) types
  112. //
  113. #define PCHAR      CPTR
  114. #define LPCH       CPTR
  115. #define PCH        CPTR
  116. #define LPCCH      CPTR
  117. #define PCCH       CPTR
  118. #define NPSTR      CSTRING
  119. #define LPSTR      CSTRING
  120. #define PSTR       CSTRING
  121. #define LPCSTR     CSTRING
  122. #define PCSTR      CSTRING
  123.  
  124. //
  125. // Neutral ANSI/UNICODE types and macros
  126. //
  127.  
  128. #define PTCHAR       CPTR
  129. #define PTBYTE       CPTR
  130. #define LPTCH        LPSTR
  131. #define PTCH         LPSTR
  132. #define PTSTR        LPSTR
  133. #define LPTSTR       LPSTR
  134. #define LPCTSTR      LPCSTR
  135.  
  136. #define PSHORT       CPTR CSHORT
  137. #define PLONG        CPTR CLONG
  138. #define HANDLE       CHANDLE
  139. #define PHANDLE      CPTR CUINT
  140.  
  141. //#define CCHAR        CCHAR      
  142. #define LCID         DWORD
  143. #define PLCID        PDWORD
  144. #define LANGID       WORD
  145.  
  146. #define LONGLONG     CDOUBLE
  147. #define DWORDLONG    CDOUBLE
  148.  
  149. #define PLONGLONG    CPTR CDOUBLE
  150. #define PDWORDLONG   CPTR CDOUBLE
  151.  
  152. #define USN          LONGLONG
  153.  
  154. #define LARGE_INTEGER    CPTR
  155. #define PLARGE_INTEGER   CPTR
  156. #define ULARGE_INTEGER   CPTR
  157. #define PULARGE_INTEGER  CPTR
  158.  
  159. #define LUID             LARGE_INTEGER
  160. #define PLUID            PLARGE_INTEGER
  161.  
  162. #define SECURITY_INFORMATION  DWORD
  163. #define PSECURITY_INFORMATION PDWORD
  164. // End winnt.h
  165.  
  166. // Types use for passing & returning polymorphic values 
  167. #define WPARAM              UINT
  168. #define LPARAM              LONG
  169. #define LRESULT             LONG
  170.  
  171. //
  172. //  Cast macros added for Visual dBASE
  173. //
  174. #define CASTBYTE(a)         (mod(a,2^8))
  175. #define CASTWORD(a)         (mod(a,2^16))
  176. #define CASTLONG(a)         (mod(a,2^32))
  177.  
  178. #define MAKEWORD(a, b)      (bitor(CASTBYTE(a),bitlshift(CASTBYTE(b), 8)))
  179. #define MAKELONG(a, b)      (bitor(CASTWORD(a),bitlshift(CASTWORD(b),16)))
  180. #define LOWORD(l)           (CASTWORD(l))
  181. #define HIWORD(l)           (bitrshift(CASTLONG(l),16))
  182. #define LOBYTE(w)           (CASTBYTE(w))
  183. #define HIBYTE(w)           (bitrshift(CASTWORD(w),8))
  184.  
  185. // #define HWND             CHANDLE  // conflicts with dBASE hWnd property
  186. #define CHWND               CHANDLE  // substitute for standard HWND
  187. #define HHOOK               CHANDLE
  188.  
  189. #define ATOM                WORD
  190.  
  191. #define SPHANDLE            CPTR CUINT
  192. #define LPHANDLE            CPTR CUINT
  193.  
  194. #define HGLOBAL             HANDLE
  195. #define HLOCAL              HANDLE
  196. //#define GLOBALHANDLE        HANDLE   // Conflicts with API function name since
  197. //#define LOCALHANDLE         HANDLE   // Visual dBASE is not case sensitive
  198.  
  199. #define FARPROC             CPTR
  200. #define NEARPROC            CPTR
  201.  
  202. #define HGDIOBJ             HANDLE
  203.  
  204. #define HACCEL              HANDLE
  205. #define HBITMAP             HANDLE
  206. #define HBRUSH              HANDLE
  207. #define HCOLORSPACE         HANDLE
  208. #define HDC                 HANDLE
  209. #define HGLRC               HANDLE
  210. #define HDESK               HANDLE
  211. #define HENHMETAFILE        HANDLE
  212. #define HFONT               HANDLE
  213. #define HICON               HANDLE
  214. #define PHICON              CPTR
  215. #define HMENU               HANDLE
  216. #define HMETAFILE           HANDLE
  217. #define HINSTANCE           HANDLE
  218. #define HMODULE             HINSTANCE   // HMODULEs can be used in place of HINSTANCEs 
  219. #define HPALETTE            HANDLE
  220. #define HPEN                HANDLE
  221. #define HRGN                HANDLE
  222. #define HRSRC               HANDLE
  223. #define HSTR                HANDLE
  224. #define HTASK               HANDLE
  225. #define HWINSTA             HANDLE
  226. #define HKL                 HANDLE
  227.  
  228. #define HFILE               CINT
  229. #define HCURSOR             HICON   // HICONs & HCURSORs are polymorphic 
  230.  
  231. #define COLORREF            CULONG         // DWORD
  232. #define LPCOLORREF          CPTR CULONG
  233.  
  234. //
  235. //  Added for Visual dBASE
  236. //
  237. #define ENUM                SHORT
  238. #define PSTRUCTURE          CPTR
  239. #define LPSTRUCTURE         CPTR
  240. #define va_list             CPTR
  241. //
  242. // From WINGDI.H
  243. //
  244. #define PDEVMODEA           LPSTRUCTURE
  245. #define LPDEVMODEA          LPSTRUCTURE
  246. #define PDEVMODE            LPSTRUCTURE
  247. #define LPDEVMODE           LPSTRUCTURE
  248.  
  249.  
  250. // OTHERS
  251. #define LPRECT              LPSTRUCTURE
  252. #define LPPOINT             LPSTRUCTURE
  253.  
  254. #endif // _WINDEF_ 
  255.